/*
题目描述
输入两个正整数m和n，求其最大公约数和最小公倍数。

输入
输入两个正整数m和n，用空格隔开。

输出
分别输出m和n的最大公约数和最小公倍数，用空格隔开。
请注意行尾输出换行。
*/
#include <stdio.h>
int main()
{
    int m, n;
    scanf("%d %d", &m, &n);
    int ys = 1;
    for (int i = 2; i <= m && i <= n; i++)
    {
        if (m % i == 0 && n % i == 0)
        {
            ys = i;
            break;
        }
    }
    int bs = m * n / ys;
    printf("%d %d\n", ys, bs);
    return 0;
}